7a5ed76cc074e7c69efccd1f208f634b30ccb17f,plugins/devkit/src/dom/impl/ExtensionDomExtender.java,ExtensionDomExtender,registerField,#DomExtensionsRegistrar#PsiField#,131
Before Change
private static void registerField(final DomExtensionsRegistrar registrar, @NotNull final PsiField field) {
final PsiAnnotation[] annotations = field.getModifierList().getAnnotations();
final PsiConstantEvaluationHelper evalHelper = JavaPsiFacade.getInstance(field.getProject()).getConstantEvaluationHelper();
for (PsiAnnotation annotation : annotations) {
final String qName = annotation.getQualifiedName();
if (qName != null) {
if (qName.equals(Attribute.class.getName())) {
final PsiAnnotationMemberValue attributeName = annotation.findAttributeValue("value");
if (attributeName != null && attributeName instanceof PsiExpression) {
final Class<String> type = String.class;
PsiExpression expression = (PsiExpression)attributeName;
final Object evaluatedExpression = evalHelper.computeConstantExpression(expression, false);
if (evaluatedExpression != null) {
registrar.registerGenericAttributeValueChildExtension(new XmlName(evaluatedExpression.toString()), type);
}
}
} else if (qName.equals(Tag.class.getName())) {
final PsiAnnotationMemberValue attributeName = annotation.findAttributeValue("value");
if (attributeName != null && attributeName instanceof PsiExpression) {
PsiExpression expression = (PsiExpression)attributeName;
After Change
}
return;
}
final PsiAnnotation tagAnno = modifierList.findAnnotation(Tag.class.getName());
final PsiAnnotation propAnno = modifierList.findAnnotation(Property.class.getName());
final PsiAnnotation absColAnno = modifierList.findAnnotation(AbstractCollection.class.getName());
//final PsiAnnotation colAnno = modifierList.findAnnotation(Collection.class.getName()); // todo